Tính toán song song là một hình thức
tính toán trong đó nhiều phép tính được thực hiện đồng thời,
[1] hoạt động trên nguyên tắc là những vấn đề lớn đều có thể chia thành nhiều phần nhỏ hơn, sau đó được giải quyết
tương tranh ("trong lĩnh vực tính toán"). Có nhiều hình thức khác nhau của tính toán song song:
song song cấp bit,
song song cấp lệnh,
song song dữ liệu, và
song song tác vụ. Song song đã được sử dụng từ nhiều năm qua, chủ yếu là trong lĩnh vực
tính toán hiệu năng cao. Gần đây hình thức tính toán này được quan tâm nhiều hơn, do những hạn chế vật lý ngăn chặn việc tăng hiệu năng tính toán chỉ bằng cách
tăng tần số.
[2] Vì việc tiêu hao điện năng (dẫn đến sinh nhiệt) từ máy tính đã trở thành một mối lo ngại trong những năm gần đây,
[3] tính toán song song đã trở thành mô hình thống trị trong lĩnh vực
kiến trúc máy tính, phần lớn là dưới dạng
bộ xử lý đa nhân.
[4]Các máy tính song song có thể được phân loại tùy theo cấp độ hỗ trợ cho song song của phần cứng, với những chiếc máy tính
đa nhân và
đa xử lý có bộ phận đa xử lý trong một máy đơn lẻ, trong khi
cụm máy tính,
xử lý song song hàng loạt, và
điện toán lưới sử dụng nhiều máy tính để xử lý cùng một công việc. Những kiến trúc máy tính song song chuyên dụng thỉnh thoảng cũng sử dụng các bộ xử lý truyền thống nhằm tăng tốc độ cho những công việc đặc trưng.
Thuật toán song song khó viết hơn so với những thuật toán tuần tự,
[5] vì sự tương tranh tạo ra nhiều lớp mới tiềm tàng các
lỗi phần mềm, trong đó lỗi
điều kiện ganh đua là phổ biến nhất. Quản lý việc
Giao tiếp và
đồng bộ giữa các
luồng xử lý là một trong những trở ngại lớn nhất để tạo ra một chương trình song song tốt.Khả năng
tăng tốc cao nhất có thể đạt được của một chương trình khi được song song hóa tuân theo
định luật Amdahl.